Skip to content

データ管理を簡素化: Jekyll の JSON サポートを活用#22

Merged
yasulab merged 1 commit intomainfrom
simplify-data-management
Dec 31, 2025
Merged

データ管理を簡素化: Jekyll の JSON サポートを活用#22
yasulab merged 1 commit intomainfrom
simplify-data-management

Conversation

@yasulab
Copy link
Copy Markdown
Member

@yasulab yasulab commented Dec 31, 2025

🎯 概要

Jekyll が _data ディレクトリ内の JSON ファイルを直接サポートすることを活用して、データ管理を大幅に簡素化しました。

🔄 主な変更

データファイルの再配置

  • dojos_earth.json_data/dojos_earth.json に移動
  • Jekyll が自動的に site.data.dojos_earth として読み込み

不要なファイル・処理の削除

  • cache_data_as_yaml.rb - YAML変換スクリプト(削除)
  • _data/earth.yml - YAML版データ(削除)
  • cache_data_as_yaml Rakeタスク(削除)

スクリプトの更新

  • get_data_from_earth.rb: _data/dojos_earth.json に直接出力
  • upsert_dojos_geojson.rb: _data/dojos_earth.json から読み込み
  • earth.json / japan.json: site.data.dojos_earth を使用
  • GitHub Actions: 不要なタスクとパスを更新

✨ メリット

項目 効果
コード削減 変換スクリプト全体を削除
保守性向上 シンプルな構造で理解しやすい
パフォーマンス 変換ステップがなくなり高速化
一貫性 データ形式が JSON で統一

📊 変更の影響

  • 削除行数: 11,790行
  • 追加行数: 6行
  • 正味削減: 11,784行 🎉

✅ テスト

  • Jekyll ビルドが成功
  • earth.json / japan.json が正しく生成される(314道場)
  • 既存の機能に影響なし

💡 学び

Jekyll の _data ディレクトリは YAML だけでなく JSON も直接サポートしているため、変換処理は完全に不要でした。この発見により、コードベースを大幅に簡素化できました。

## 変更内容
- dojos_earth.json を _data/ ディレクトリに移動
- YAML 変換処理を完全に削除(Jekyll は JSON を直接サポート)
- 関連スクリプトのパスを更新

## 削除したファイル
- cache_data_as_yaml.rb(不要な変換スクリプト)
- _data/earth.yml(YAML版は不要)

## 更新したファイル
- get_data_from_earth.rb: _data/dojos_earth.json に直接出力
- upsert_dojos_geojson.rb: _data/dojos_earth.json から読み込み
- earth.json / japan.json: site.data.dojos_earth を使用
- Rakefile: cache_data_as_yaml タスクを削除
- GitHub Actions: パスと不要なタスクを削除

## メリット
- コード削減: 変換スクリプトが不要に
- 保守性向上: シンプルな構造で理解しやすい
- パフォーマンス: 変換ステップがなくなり高速化
- 一貫性: データ形式が JSON で統一
@yasulab yasulab merged commit c670757 into main Dec 31, 2025
1 check passed
@yasulab yasulab deleted the simplify-data-management branch December 31, 2025 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant